// 模块数据ts
export interface ResponseData {
	code: number;
	message: string;
	ok: boolean;
}

// 医院detail数据ts  data数据类型
export interface HospitalDetail {
	bookingRule: {
		cycle: number;
		releaseTime: string;
		stopTime: string;
		quitDay: number;
		quitTime: string;
		rule: string[];
	}
	hospital: {
		id: string;
		createTime: string;
		updateTime: string;
		isDeleted: number;
		param:{
			hostypeString: string;
			fullAddress: string;
		}
		hoscode: string;
		hosname: string;
		hostype: string;
		provinceCode: string;
		cityCode: string;
		districtCode: string;
		address: string;
		logoData: string;
		intro: null;
		route: string;
		status: number;
		bookRule: null;
	}
}

// 医院detail返回数据ts
export interface HospitalDetailResponseData extends ResponseData {
	data: HospitalDetail
}

// 医院科室的数据
export interface Department {
	depcode: string;
	depname: string;
	children?: Department[]
}

// 存储科室的数据的数组ts
export type DepartmentArr = Department[]

// 医院科室返回数据ts
export interface DepartmentResponseData extends ResponseData {
	data: DepartmentArr
}

// 验证码返回数据ts
export interface code extends ResponseData {
	data: null
}

// 用户登录接口携带参数类型
export interface LoginData {
	phone: string;
	code: string;
}

// 登录接口返回用户数据
export interface UserInfo {
	token: string;
	name: string;
}

// 登录接口返回数据类型
export interface LoginResponseData extends ResponseData {
	data: UserInfo
}

// 微信扫码登录返回数据ts
export interface WxLogin {
	redirectUri: string;
	appid: string;
	scope: string;
	state: string;
}

export interface WxLoginResponseData extends ResponseData {
	data: WxLogin
}

export interface baseMap{
	"workDateString": string,
	"releaseTime": string,
	"bigname": string,
	"stopTime": string,
	"depname": string,
	"hosname": string
}

export interface Schedule{
	 "workDate": string,
     "workDateMd": string,
     "dayOfWeek": string,
     "docCount": number,
     "reservedNumber": string,
     "availableNumber": number,
     "status": number
}
// 排班日期的返回数据
export interface workData extends ResponseData{
	data:{
		total: number,
		bookingScheduleList:Schedule[],
		baseMap:baseMap
	}
}

// 具体科室时间的医生信息
export interface Doctor {
	id: string,
	createTime: string,
	updateTime: string,
	isDeleted: number,
	param:{
		dayOfWeek: string,
		depname: string
		hosname: string,
	},
	hoscode: string,
	depcode: string,
	title: string,
	docname: string,
	skill: string,
	workDate: string,
	workTime:number
	reservedNumber: number,
	availableNumber: number,
	amount: number,
	status: number,
	hosScheduleId: string
}
// 数据包含全部医生
export type DoctorArr = Doctor[]
// 获取医生排班接口数据返回ts
export interface DoctorResponseData extends ResponseData{
	data:DoctorArr
}

// 代表一个账号下一个就诊人数据ts
export interface User {
	id: string,
	createTime: string,
	updateTime: string,
	isDeleted: number,
	param:{
		certificatesTypeString: string,
		contactsCertificatesTypeString: string,
		cityString: string,
		fullAddress: string,
		districtString: string,
		provinceString: string,
	},
	userId: string,
	name: string,
	certificatesType: number,
	certificatesNo: string,
	sex: number,
	birthdate: string,
	phone: string,
	isMarry: number,
	provinceCode: string,
	cityCode: string,
	districtCode: string,
	address: string,
	contactsName: string,
	contactsCertificatesType: string,
	contactsCertificatesNo: string,
	contactsPhone: string,
	isInsure:number,
	cardNo:string,
	status:string
}

// 返回就诊人的数组
export type UserArr = User[]

export interface UserResponseData extends ResponseData{
	data:UserArr
}

// 挂号医生的ts
export interface DoctorInfo extends ResponseData{
	data:Doctor
}
